88d7f5808cedf141ef1feed1c3c4756d8d32d6df,plugins/org.eclipse.xtext.generator/src/org/eclipse/xtext/generator/grammarAccess/GrammarAccessFragment.java,GrammarAccessFragment,replaceResourceURIsWithNsURIs,#Grammar#,89

Before Change


		for (AbstractMetamodelDeclaration metamodelDecl : grammar.getMetamodelDeclarations()) {
			EPackage generatedPackage = metamodelDecl.getEPackage();
			Resource packResource = generatedPackage.eResource();
			packResource.setURI(URI.createURI(generatedPackage.getNsURI()));
		}
	}

After Change


			Resource packResource = pack.eResource();
			if (!packResource.getURI().equals(pack.getNsURI())) {
				ResourceSet packResourceSet = packResource.getResourceSet();
				if (packResourceSet != null && packResourceSet.equals(set)) {
					EPackage topMost = pack;
					// we need to be aware of empty subpackages
					while (topMost.getESuperPackage() != null
							&& topMost.getESuperPackage().eResource() == topMost.eResource())
						topMost = topMost.getESuperPackage();
					if (packResource.getContents().contains(topMost) && packResource.getContents().size() == 1) {
						if (!topMost.getEClassifiers().isEmpty())
							packResource.setURI(URI.createURI(topMost.getNsURI()));
						else
							moveSubpackagesToNewResource(topMost, set);
					}